package dao.common;

import models.entities.PaginatedList;
import models.shop.Brand;
import models.shop.Image;
import models.shop.path.ProductFilter;

import java.util.List;

public interface BrandManager {
    Brand create(String title, Image image);
    void save(Brand brand);

    List<Brand> listTopBrands(int count);

    List<Brand> list(ProductFilter filter);

    Brand getById(int brandId);

    PaginatedList<Brand> listAll(int pageNumber, int pageSize);

    void updateImage(int brandId, Image image);

    void deleteImage(int brandId, String md5);

    Image getExistentImage(int brandId);

    PaginatedList<Brand> paginatedList(ProductFilter filter);
}
